/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package projetointegrado;

import java.util.ArrayList;

/**
 *
 * @author Rogerio
 */
public class Player implements java.io.Serializable {
    Player playerCarregado;
    int x=20,y=540,w=40,h=40,dx=10,dy=10;
    int xa,ya;
    String positionChar,lifebar,manabar;
    int hp,mana,hpAtual,manaAtual,baseAttack;
    int gastoManaExura = 100;
    int gastoManaUtani = 100;
    int recoveryExura = 50;
    int aumentoVeloUtani = 10;
    int ataqueProg = 5;
    int ataqueAdm = 5;
    int ataqueMat = 5;
    int ataqueHum = 5;
    int defesaProg = 1;
    int defesaAdm = 1;
    int defesaMat = 1;
    int defesaHum = 1;
    ArrayList<Materia> materias = new ArrayList<Materia>();
    ArrayList<String> frasesGameOver = new ArrayList<String>();
    ArrayList<String> frasesBatalhaAdm = new ArrayList<String>();
    ArrayList<String> frasesBatalhaProg = new ArrayList<String>();
    ArrayList<String> frasesBatalhaMat = new ArrayList<String>();
    ArrayList<String> frasesBatalhaHum = new ArrayList<String>();
    String nome = "Derpson";
    String diaSemana;
    int periodo = 1;
    
    //Periodo 1
    String[] segunda = {"Segunda"};
    String[] terça = {"Terça"};
    String[] quarta = {"Quarta"};
    String[] quinta = {"Quinta"};
    String[] sexta = {"Sexta"};
    String[] segundaQuarta = {"Segunda", "Quarta"};
    String[] segundaSexta = {"Segunda", "Sexta"};
    String[] terçaQuinta = {"Terça", "Quinta"};
    String[] quartaSexta = {"Quarta", "Sexta"};
    Materia tecnologiaSociedade = new Materia("Tecnologia e Sociedade", null, "ES61A", 30, "Humanas", 2,segunda, "E", "202");
    
    Materia comunicacaoOralEscrita = new Materia("Comunicacao Oral Escrita", null, "CE62A", 30, "Humanas", 2, terça, "E", "101");
    Materia tgs = new Materia("Teoria Geral de Sistemas", null, "GE61D", 60, "Gestao", 2, terça, "E", "303");
    Materia algoritmos1 = new Materia("Algoritmos 1", null, "IF61E", 60, "Informatica", 2, segundaQuarta,"B", "108");
    Materia logica = new Materia("Logica para Computação", null, "IF61B", 60, "Matematica", 2, segundaSexta, "B", "202");
    Materia fundamentos1 = new Materia("Fundamentos de Programacao 1", null, "IF61C", 90, "Informatica", 2, segundaSexta,"B","201");
    Materia calculo = new Materia("Cálculo", null, "MA61A", 90, "Matematica", 2, terçaQuinta,"E", "301");
    //Periodo 2
    Materia filosofia = new Materia("Filosofia da Ciencia e Tecnologia", tecnologiaSociedade, "ES60A", 30, "Humanas", 0, segunda, "E", "303");
    Materia ingles1 = new Materia("Ingles 1", null, "CL62B", 60, "Humanas", 1,terça, "E", "101");
    Materia tga = new Materia("Teoria Geral da Administracao", tgs, "GE62D", 30, "Gestao", 0,segunda,"E","202");
    Materia fundamentossistemas = new Materia("Fundamentos de Sistemas de Informacao", tgs, "IF62D", 60, "Gestao", 0,segundaQuarta,"B","109");
    Materia algoritmos2 = new Materia("Algoritmos 2", algoritmos1, "IF62E", 60, "Matematica", 0,quartaSexta,"B", "201");
    Materia matematicaDiscreta = new Materia("Matematica Discreta",null, "IF63E", 60, "Matematica", 1,quinta,"E","202");
    Materia fundamentos2 = new Materia("Fundamentos de Programacao 2", fundamentos1, "IF62C", 60, "Informatica", 0,terçaQuinta,"B","201");
    Materia arquitetura = new Materia("Arquitetura de Computadores", null, "IF62F", 60, "Informatica", 1,sexta,"B","108");
    //Periodo 3
    Materia historiaTecTec = new Materia("Historia da Tecnica e da Tecnologia", filosofia, "ES60F", 30, "Humanas", 0,segunda,"E","202");
    Materia metPesquisa = new Materia("Metodologia de Pesquisa", null, "IF63B", 30, "Informatica", 1,terça,"B","106");
    Materia economia = new Materia("Economia", null, "GE60D", 30, "Gestao", 1,quarta,"E","303");
    Materia prodLogistica = new Materia("Producao e Logistica", null, "GE63D", 30, "Gestao", 1,quinta,"E","202");
    Materia bd1 = new Materia("Banco de Dados", algoritmos2, "IF65E", 60, "Informatica", 0,segundaSexta,"B","106");
    Materia teoriaComputacao = new Materia("Teoria da Computacao", matematicaDiscreta, "IF65C", 45, "Informatica", 0,sexta,"E","101");
    Materia ed1 = new Materia("Estrutura de Dados 1", fundamentos2, "IF63C", 45, "Informatica", 0, terçaQuinta,"B","202");
    Materia sistemasOperacionais = new Materia("Sistemas Operacionais", arquitetura, "IF66D", 60, "Informatica", 0, segundaSexta,"B","109");
    //Periodo 4
    Materia sociedadePolitica = new Materia("Sociedade e Politica no Brasil", historiaTecTec, "ES60G", 30, "Humanas", 0,segunda,"E","101");
    Materia gestaoPessoas = new Materia("Gestao de Pessoas", null, "GE60B", 30, "Gestao", 1,terça,"E","303");
    Materia governancaCorporativa = new Materia("Governanca Corporativa", null, "GE64C", 30, "Gestao", 1,terça,"E","101");
    Materia contabilidadeCustos = new Materia("Contabilidade e Custos", null, "GE64D", 45, "Gestao", 1,segunda,"E","305");
    Materia bd2 = new Materia("Banco de Dados 2", bd1, "IF66E", 45, "Informatica", 0,quartaSexta,"B","109");
    Materia analiseProjetoSistemas = new Materia("Analise e Projeto de Sistemas", teoriaComputacao, "IF65D", 45, "Informatica", 0,quinta,"B","108");
    Materia ed2 = new Materia("Estruturas de Dados 2", ed1, "IF64C", 45, "Informatica", 0,sexta,"B","201");
    Materia redes1 = new Materia("Redes de Computadores 1", sistemasOperacionais, "IF66B", 60, "Informatica", 0,quartaSexta,"B","108");
    
    
    //String descricao, Materia preRequisito, String codigoMateria, int cargaHoraria, String tipo, int status
    public void setMaterias(){
        materias.add(tgs);
        materias.add(tecnologiaSociedade);
        materias.add(comunicacaoOralEscrita);
        materias.add(algoritmos1);
        materias.add(logica);
        materias.add(fundamentos1);
        materias.add(calculo);
        
        tecnologiaSociedade.setFeitaNoDia(false);
        tgs.setFeitaNoDia(false);
        comunicacaoOralEscrita.setFeitaNoDia(false);
        algoritmos1.setFeitaNoDia(false);
        logica.setFeitaNoDia(false);
        fundamentos1.setFeitaNoDia(false);
        calculo.setFeitaNoDia(false);
            
        tecnologiaSociedade.setFeitaNaSemana(0);
        tgs.setFeitaNaSemana(0);
        comunicacaoOralEscrita.setFeitaNaSemana(0);
        algoritmos1.setFeitaNaSemana(0);
        logica.setFeitaNaSemana(0);
        fundamentos1.setFeitaNaSemana(0);
        calculo.setFeitaNaSemana(0);
        
        
        materias.add(filosofia);
        materias.add(ingles1);
        materias.add(tga);
        materias.add(fundamentossistemas);
        materias.add(algoritmos2);
        materias.add(matematicaDiscreta);
        materias.add(fundamentos2);
        materias.add(arquitetura);
        
        materias.add(historiaTecTec);
        materias.add(metPesquisa);
        materias.add(economia);
        materias.add(prodLogistica);
        materias.add(bd1);
        materias.add(teoriaComputacao);
        materias.add(ed1);
        materias.add(sistemasOperacionais);
        
        materias.add(sociedadePolitica);
        materias.add(gestaoPessoas);
        materias.add(governancaCorporativa);
        materias.add(contabilidadeCustos);
        materias.add(bd2);
        materias.add(analiseProjetoSistemas);
        materias.add(ed2);
        materias.add(redes1);
        
    }
    public void setFrasesMiticas(){
        frasesGameOver.add("Voce tem certeza que esta no curso certo?");
        frasesGameOver.add("SILENCE! I KILL YOU!");
        frasesGameOver.add("Na Uniao Sovietica, voce ainda reprova.");
        frasesGameOver.add("Perdeu? AZAR!");
        frasesGameOver.add("Perdeu? QUE PENA!");
        frasesGameOver.add("NP nao esta em P!");
        frasesGameOver.add("Pare de jogar LoL e estude!");
        frasesGameOver.add("Melhor que frango");
        frasesGameOver.add("Mas ja vai?");
        frasesGameOver.add("Fecha a porta na saida");
        frasesGameOver.add("Prove por inducao que voce reprovou por excesso de LoL");
        frasesGameOver.add("Para todo x, onde x e aluno da UTFPR, x REPROVA");
        frasesGameOver.add("Na UTFPR existem dois tipos de pessoas: aquelas que reprovaram, e aquelas que ainda reprovarao");
        frasesGameOver.add("Para todo x, onde x e aluno da UTFPR; temvida(x) || temdp(x)");
        frasesGameOver.add("Yes, proxima pergunta!");
        frasesGameOver.add("deiz real mais o dinheiro do busao");
        frasesGameOver.add("Nao ta errado...");
        frasesGameOver.add("Seu coeficiente: 0");
        frasesGameOver.add("Seu numero de DPs: OVER NINE THOUSAAAAAAAAAAAAAAAND!");
        frasesGameOver.add("QUE ABSURDO!");
        frasesGameOver.add("vish");
        frasesGameOver.add("RU: onde voce olha pra salada, e a salada olha pra voce");
        frasesGameOver.add("Voce e catador de que? ____________");
        frasesGameOver.add("TROLHA!");
        frasesGameOver.add("Oooooooooooo EMERSON!");
        frasesGameOver.add("O que o C++ falou pro C? Voce nao tem classe! HAHAHAHAHAHAHAHA");
        frasesGameOver.add("The cake is a lie");
        frasesGameOver.add("Pra entender recursividade, tem que entender recursividade!");
        frasesGameOver.add("Esse jogo nao tem bola de fogo");
        frasesGameOver.add("MIMIMIMIMIMIMI");
        frasesGameOver.add("An ally has been slain!");
        frasesGameOver.add("Quero saber quem vai mid agora");
        frasesGameOver.add("'Johnny eu solo!' - ultimas palavras");
        frasesBatalhaAdm.add("Henry Ford ficaria orgulhoso");
        frasesBatalhaAdm.add("VAI! GESTAO EMPRESARIAL!");
        frasesBatalhaAdm.add("Voce usou RAZONETE!");
        frasesBatalhaAdm.add("Voce usou CUSTEIO!");
        frasesBatalhaAdm.add("Voce usou RECURSOS HUMANOS!");
        frasesBatalhaAdm.add("Voce geriu as pessoas!");
        frasesBatalhaAdm.add("Modo gestor: ENGAGED!");
        frasesBatalhaAdm.add("Logistica Mitica!");
        frasesBatalhaAdm.add("Otimizacao da Utilizacao de Materia Prima");
        frasesBatalhaAdm.add("Taylorismo!");
        frasesBatalhaProg.add("Voce utilizou: GAMBIARRA!");
        frasesBatalhaProg.add("OO!");
        frasesBatalhaProg.add("Programacao Estruturada!");
        frasesBatalhaProg.add("Lista Encadeada, VAI!");
        frasesBatalhaProg.add("Voce usou ponteiros corretamente!");
        frasesBatalhaProg.add("Voce conseguiu fazer o UML!");
        frasesBatalhaProg.add("public static void gambiarra()!");
        frasesBatalhaProg.add("Flags!");
        frasesBatalhaProg.add("Voce castou a variavel corretamente!");
        frasesBatalhaProg.add("thread.join()!");
        frasesBatalhaHum.add("Adorno!");
        frasesBatalhaHum.add("Marx!");
        frasesBatalhaHum.add("Germinal!");
        frasesBatalhaHum.add("Chiara Frugoni!");
        frasesBatalhaHum.add("Bilugacao Astral!");
        frasesBatalhaHum.add("Voce leu: DIALETICA DO ESCLARECIMENTO!");
        frasesBatalhaHum.add("Voce fez uma apresentacao na ultima hora!");
        frasesBatalhaHum.add("Pentagrama de 9 pontas!");
        frasesBatalhaHum.add("Alienacao!");
        frasesBatalhaHum.add("Controle Social!");
        frasesBatalhaMat.add("Voce acertou o passo indutivo!");
        frasesBatalhaMat.add("Integral definida!");
        frasesBatalhaMat.add("Limite tendendo ao INFINITO!(e alem)");
        frasesBatalhaMat.add("Algebra Relacional!");
        frasesBatalhaMat.add("Pulo do gato!");
        frasesBatalhaMat.add("Limites!");
        frasesBatalhaMat.add("Passo basico: CORRETO!");
        frasesBatalhaMat.add("Casa de Pombos!");
        frasesBatalhaMat.add("Algebra de Boole!");
        frasesBatalhaMat.add("Cola de Derivadas!");
        
    }
    
    public void setDiaSemana(String s){
       diaSemana = s; 
    }
    
    public String getDiaSemana(){
        return diaSemana;
    }
    
    public int getPosX(){
        return x;
    }
    public int getPosY(){
        return y;
    }
    public String getPosChar(){
        return positionChar;
    }
    public int getHp(){
        return hp;
    }
    public int getHpAtual(){
        return hpAtual;
    }
    public int getMana(){
        return mana;
    }
    public int getManaAtual(){
        return manaAtual;
    }
    public int getSkillProg(){
        return ataqueProg;
    }
    public int getSkillAdm(){
        return ataqueAdm;
    }
    public int getSkillMat(){
        return ataqueMat;
    }
    public int getSkillHum(){
        return ataqueHum;
    }
    public int getBaseAttack(){
        return baseAttack;
    }
    public ArrayList<Materia> getmaterias(){
        return materias;
    }
    public void setPosX(int posX){
        x = posX;
    }
    public void setPosY(int posY){
        y = posY;
    }
    public void setPosChar(String posChar){
        positionChar = posChar;
    }
    public void setManaBar(String manabar){
        this.manabar = manabar;
    }
    public void setLifeBar(String lifebar){
        this.lifebar = lifebar;
    }
    public void setHp(int life){
        hp = life;
    }
    public void setHpAtual(int hp){
        hpAtual = hp;
    }
    public void setMana(int mana){
        this.mana = mana;
    }
    public void setManaAtual(int mana){
        manaAtual = mana;
    }
    public void setSkillProg(int prog){
        ataqueProg = prog;
    }
    public void setSkillAdm(int adm){
        ataqueAdm = adm;
    }
    public void setSkillMat(int mat){
        ataqueMat = mat;
    }
    public void setSkillHum(int hum){
        ataqueHum = hum;
    }
    public void setBaseAttack(int bA){
        baseAttack = bA;
    }
    public void setMateria(Materia materia)
    {
        materias.add(materia);
    }
  
}
